1 REM FLEXIBLE SCREEN EDITOR 2 REM BY LARRY ANDERSON Q: LARRYA21 3 REM - - 4 REM CURENTLY SET FOR RIGHT TO LEFT 5 REM 6 REM NOT PERFECT, BUT A START... 7 REM 10 REM ** CURSOR POSITIONING ROUTINE: 15 REM SYS(LOC),XPOS,YPOS =RELOCATEABLE= 20 FORX=0TO19:READD:POKE49152+X,D:NEXT 30 DATA 32,253,174,32,158,183,134,255,32,253,174,32,158,183,164,255,24 40 DATA 76,240,255 50 REM CLEAR AREA & SETUP CURSOR SPRITE: 60 FORX=0 TO63:POKE832+X,0:NEXT 70 FORX=0 TO 9:READD:POKE832+X*3,D:NEXT 80 DATA 255,129,129,129,129,129,129,255,255,255 90 REM SET SPRITE POINTERS & SCN COLOR 100 POKE 2040,13:POKE 53269,1:POKE53271,0:POKE53275,0:POKE53276,0 110 POKE 53277,0:POKE 53280,11:POKE53281,0:PRINT"[147]" 120 REM ** CURSOR DIR AND STARTING COL. 130 D$="[157]":SC=38:SYS49152,SC,0 140 REM LOCATE CURSOR LOCATION ON SCREEN & UPDATE SPRITE COLOR... 150 X=PEEK(211):Y=PEEK(214):POKE53287,PEEK(646):IFX>39THENX=X-40 160 REM COMPUTE SPRITE COORD. AND PLOT 170 SX=(40*(X>39)+X)*8+24:POKE53249,Y*8+50 180 POKE53248,(SXAND255):POKE53264,-(SX>255) 190 REM CLEANER GET RTN - LESS GARBAGE COLLECTIONS 200 IF PEEK(198)=0THEN WAIT198,1 210 GETA$:C=ASC(A$) 220 REM **START LINES FROM RIGHT INSTEAD LEFT 230 IFC=13ORC=147ORC=19ORC=141 THEN PRINTA$;:SYS49152,SC,PEEK(214):GOTO 150 240 REM **ALLOW FOR NORMAL CURSOR MOVEMENT & COLOR CHANGE... 250 POKE202,0:POKE216,0:IF C<32 OR(C>127ANDC<160)THENPRINTA$;:GOTO 150 260 REM PRINT CHAR. AND MOVE CURSOR 270 PRINTA$;:POKE212,0:POKE216,0:PRINT"[157]"D$;:GOTO 150